﻿using DEMO.Y2015CS58.LIB;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DEMO.Y2015CS58.UI
{
    public partial class frmTinhToan : Form
    {
        public frmTinhToan()
        {
            InitializeComponent();
        }

        private void btnTinhToan_Click(object sender, EventArgs e)
        {
            txtKetQua.Clear();

            //Yêu cầu người dùng nhập vào giá trị số a, số b và chọn phép toán.
            if (String.IsNullOrEmpty(txtA.Text))
            {
                MessageBox.Show("Bạn chưa nhập vào số a.");
                return;
            }
            if (String.IsNullOrEmpty(txtB.Text))
            {
                MessageBox.Show("Bạn chưa nhập vào số b.");
                return;
            }
            if (String.IsNullOrEmpty(cboPhepToan.Text))
            {
                MessageBox.Show("Bạn chưa chọn phép toán.");
                return;
            }

            //kiểm tra kiểu số 
            double soA, soB, kq = 0;

            try
            {
                //Chuyển đổi chuỗi sang số
                soA = double.Parse(txtA.Text);
                soB = double.Parse(txtB.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Số nhập không đúng định dạng.");
                return;
            }

            //Xử lý tính toán

            //if (cboPhepToan.Text == "Cộng")
            //{
            //    kq = soA + soB;
            //}
            //else if (cboPhepToan.Text == "Trừ")
            //{
            //    kq = soA - soB;
            //}
            //else if (cboPhepToan.Text == "Nhân")
            //{
            //    kq = soA * soB;
            //}
            //else
            //{
            //    //
            //    if (soA != 0 && soB == 0)
            //    {
            //        MessageBox.Show("Cannot divide by zero.");
            //        return;
            //    }
            //    if (soA == 0 && soB == 0)
            //    {
            //        MessageBox.Show("Result of function is underfined.");
            //        return;
            //    }
            //    kq = soA / soB;
            //}
            string msg="";
            int iOpt = cboPhepToan.SelectedIndex;
            CalculatorControllers calc = new CalculatorControllers();
            kq = calc.CalculatorInfo(ref msg, soA, soB, iOpt);

            if(!String.IsNullOrEmpty(msg))
            {
                MessageBox.Show(msg);
                return;
            }

            txtKetQua.Text = kq.ToString("#,##0.0000");
        }
    }
}